package com.question.service;

import com.question.pojo.dto.CommentDTO;
import com.question.pojo.result.PageResult;
import com.question.pojo.vo.*;

import java.util.List;
import java.util.Map;

public interface CommentService {

    /**
     * 添加评论
     * @param commentDTO
     */
    void addComment(CommentDTO commentDTO);

    /**
     * 根据题目查询评论
     * @param questionId
     * @return
     */
    List<CommentVO> getCommentsByQuestionId(Integer questionId);

    /**
     * 删除评论
     * @param commentId
     * @return
     */
    void deleteCommentById(Integer commentId);





    PageResult getAdminCommentPage(String keyword, Integer majorId, Integer pageNum, Integer pageSize);

    List<MajorDistributionVO> getMajorDistribution();

    List<HotQuestionVO> getHotQuestions(Integer limit);

    List<LikeUserVO> getLikeUsers(Integer commentId);

    Map<String, Object> getCommentStats();

    PageResult getUserStatPage(String keyword, Integer majorId, Integer page, Integer pageSize);

    List<MajorActivityVO> getMajorActivity();
}
